package algo;
/**
* Classe abstraite pour implementer les etapes de tri
* @author Kevin Georgy
* @since 13.06.2007	
* @version 1.0
*/

public abstract class Step {
	
	/**
	* QuickSort a modifier
	*/	
	protected QuickSort quickSort;
   
	/**
	* Text explicatif de l'etape
	*/	
	protected String tutoText = "";
	
	/**
	* Construit l'etape
	* @param aQuickSort QuickSort que l'etape doit modifier
	*/	
	Step(QuickSort aQuickSort) {
		quickSort = aQuickSort;
	}

	/**
	* Applique l'etape
	* @return Etape suivante
	*/	
	Step apply() {
		tutoText = "";
		return null;
	}
	
	/**
	* Retourne le text explicatif
	* @return Text explicatif
	*/	
	public String tutoText() {
		return tutoText;
	}
	
	/**
	* Indique le nom de l'etape
  	* @return Nom de l'etape
	*/	
	public abstract String stepName();
	
}
